<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
<script>

  // ES5

  //修改this
  //修改prototype
  //修改prototype.construcor
//   function Person(name,age){
//     this.name = name
//     this.age = age
//   }
//   Person.prototype.do=function(){
//     console.log("dosomething");
//   }
//   function Student(name,age,id) {
//     //构造函数继承
//     Person.call(this,name,age)
//     this.id=id
//   }
//   //原型链继承
//   Student.prototype = new  Person
//   //修正constructor
//   Student.prototype.constructor = Student

//   Student.prototype.study=function(){
//     console.log("study");
//   }

//  const p1 = new Student("xiaoA",11,4307032000)
//  const p2 = new Person("xiaoB",22)
//  p2.do() // 父的实列 用 父类的方法
//  p1.study() //z= 子的实列 用 子类的方法
//  p1.do()  // 子类的实列 用 父类的原型方法
//  console.log(p1);
//  console.log(p2);




Function.prototype.mycall=function(fn,...arg){

  //调用函数
  //修改this
  //返回函数的返回值
  

}

function fn (name,age){

this.name = name
this.age = age

}

fn.mycall({},"cc",18)



</script>
</html>